1,271 research outputs found
Mapping Fusion and Synchronized Hyperedge Replacement into Logic Programming
In this paper we compare three different formalisms that can be used in the
area of models for distributed, concurrent and mobile systems. In particular we
analyze the relationships between a process calculus, the Fusion Calculus,
graph transformations in the Synchronized Hyperedge Replacement with Hoare
synchronization (HSHR) approach and logic programming. We present a translation
from Fusion Calculus into HSHR (whereas Fusion Calculus uses Milner
synchronization) and prove a correspondence between the reduction semantics of
Fusion Calculus and HSHR transitions. We also present a mapping from HSHR into
a transactional version of logic programming and prove that there is a full
correspondence between the two formalisms. The resulting mapping from Fusion
Calculus to logic programming is interesting since it shows the tight analogies
between the two formalisms, in particular for handling name generation and
mobility. The intermediate step in terms of HSHR is convenient since graph
transformations allow for multiple, remote synchronizations, as required by
Fusion Calculus semantics.Comment: 44 pages, 8 figures, to appear in a special issue of Theory and
Practice of Logic Programming, minor revisio
Dynamic Programming on Nominal Graphs
Many optimization problems can be naturally represented as (hyper) graphs,
where vertices correspond to variables and edges to tasks, whose cost depends
on the values of the adjacent variables. Capitalizing on the structure of the
graph, suitable dynamic programming strategies can select certain orders of
evaluation of the variables which guarantee to reach both an optimal solution
and a minimal size of the tables computed in the optimization process. In this
paper we introduce a simple algebraic specification with parallel composition
and restriction whose terms up to structural axioms are the graphs mentioned
above. In addition, free (unrestricted) vertices are labelled with variables,
and the specification includes operations of name permutation with finite
support. We show a correspondence between the well-known tree decompositions of
graphs and our terms. If an axiom of scope extension is dropped, several
(hierarchical) terms actually correspond to the same graph. A suitable
graphical structure can be found, corresponding to every hierarchical term.
Evaluating such a graphical structure in some target algebra yields a dynamic
programming strategy. If the target algebra satisfies the scope extension
axiom, then the result does not depend on the particular structure, but only on
the original graph. We apply our approach to the parking optimization problem
developed in the ASCENS e-mobility case study, in collaboration with
Volkswagen. Dynamic programming evaluations are particularly interesting for
autonomic systems, where actual behavior often consists of propagating local
knowledge to obtain global knowledge and getting it back for local decisions.Comment: In Proceedings GaM 2015, arXiv:1504.0244
An interactive semantics of logic programming
We apply to logic programming some recently emerging ideas from the field of
reduction-based communicating systems, with the aim of giving evidence of the
hidden interactions and the coordination mechanisms that rule the operational
machinery of such a programming paradigm. The semantic framework we have chosen
for presenting our results is tile logic, which has the advantage of allowing a
uniform treatment of goals and observations and of applying abstract
categorical tools for proving the results. As main contributions, we mention
the finitary presentation of abstract unification, and a concurrent and
coordinated abstract semantics consistent with the most common semantics of
logic programming. Moreover, the compositionality of the tile semantics is
guaranteed by standard results, as it reduces to check that the tile systems
associated to logic programs enjoy the tile decomposition property. An
extension of the approach for handling constraint systems is also discussed.Comment: 42 pages, 24 figure, 3 tables, to appear in the CUP journal of Theory
and Practice of Logic Programmin
A coalgebraic semantics for causality in Petri nets
In this paper we revisit some pioneering efforts to equip Petri nets with
compact operational models for expressing causality. The models we propose have
a bisimilarity relation and a minimal representative for each equivalence
class, and they can be fully explained as coalgebras on a presheaf category on
an index category of partial orders. First, we provide a set-theoretic model in
the form of a a causal case graph, that is a labeled transition system where
states and transitions represent markings and firings of the net, respectively,
and are equipped with causal information. Most importantly, each state has a
poset representing causal dependencies among past events. Our first result
shows the correspondence with behavior structure semantics as proposed by
Trakhtenbrot and Rabinovich. Causal case graphs may be infinitely-branching and
have infinitely many states, but we show how they can be refined to get an
equivalent finitely-branching model. In it, states are equipped with
symmetries, which are essential for the existence of a minimal, often
finite-state, model. The next step is constructing a coalgebraic model. We
exploit the fact that events can be represented as names, and event generation
as name generation. Thus we can apply the Fiore-Turi framework: we model causal
relations as a suitable category of posets with action labels, and generation
of new events with causal dependencies as an endofunctor on this category. Then
we define a well-behaved category of coalgebras. Our coalgebraic model is still
infinite-state, but we exploit the equivalence between coalgebras over a class
of presheaves and History Dependent automata to derive a compact
representation, which is equivalent to our set-theoretical compact model.
Remarkably, state reduction is automatically performed along the equivalence.Comment: Accepted by Journal of Logical and Algebraic Methods in Programmin
Constraint Design Rewriting
We propose an algebraic approach to the design and transformation of constraint networks, inspired by Architectural Design Rewriting. The approach can be understood as (i) an extension of ADR with constraints, and (ii) an application of ADR to the design of reconfigurable constraint networks. The main idea is to consider classes of constraint networks as algebras whose operators are used to denote constraint networks with terms. Constraint network transformations such as constraint propagations are specified with rewrite rules exploiting the network’s structure provided by terms
Separable graphs, planar graphs and web grammars
This paper is concerned with the class of “web grammars,≓ introduced by Pfaltz and Rosenfeld, whose languages are sets of labelled graphs. A slightly modified definition of web grammar is given, in which the rewriting rules can have an applicability condition, and it is proved that, in general, this extension does not increase the generative power of the grammar. This extension is useful, however, for otherwise it is not possible to incorporate negative contextual conditions into the rules, since the context of a given vertex can be unbounded. A number of web grammars are presented which define interesting classes of graphs, including unseparable graphs, unseparable planar graphs and planar graphs. All the grammars in this paper use “normal embeddings≓ in which the connections between the web that is written and the host web are conserved, so that any rewriting rule affects the web only locally
Style-Based architectural reconfigurations
We introduce Architectural Design Rewriting (ADR), an approach to the design of reconfigurable software architectures whose key features are: (i) rule-based approach (over graphs); (ii) hierarchical design; (iii) algebraic presentation; and (iv) inductively-defined reconfigurations. Architectures are modelled by graphs whose edges and nodes represent components and connection ports. Architectures are designed hierarchically by a set of edge replacement rules that fix the architectural style. Depending on their reading, productions allow: (i) top-down design by refinement, (ii) bottom-up typing of actual architectures, and (iii) well-formed composition of architectures. The key idea is to encode style proofs as terms and to exploit such information at run-time for guiding reconfigurations. The main advantages of ADR
are that: (i) instead of reasoning on flat architectures, ADR specifications provide a convenient hierarchical structure, by exploiting the architectural classes introduced by the style, (ii) complex reconfiguration schemes can be defined inductively, and (iii) style-preservation is guaranteed
- …